Compiler-Assisted Thread Level Control Speculation
نویسندگان
چکیده
This paper proposes two compiler-assisted techniques to improve thread level control speculation in speculative multithreading execution. The first technique is to identify threads which have exactly one successor and the successor’s address is statically known (we call these threads fixed-successor threads), and use a small full associative buffer to predict the successors. This technique reduces aliasing in the original thread predictor and increases the overall prediction accuracy. The second technique is to insert validation information at points where the address of the successor thread is resolved. This early validation technique enables the processor to validate thread prediction earlier and reduce the penalty when a misprediction occurs. Our evaluation results show that for a 2K-entry predictor, a 5.8% average performance improvement can be achieved by combining the two techniques.
منابع مشابه
The superthreaded architecture: thread pipelining with run-time data dependence checking and control speculation
This paper presents a new concurrent multiple-threaded architectural model, called superthreading, for exploiting thread-level parallelism on a processor. This architectural model adopts a thread pipelining execution model that allows threads with data dependences and control dependences to be executed in parallel. The basic idea of thread pipelining is to compute and forward recurrence data an...
متن کاملCompiler Assisted Speculation for Multithreaded Programming
Multithreaded programming, which well fits the structure of modern shared memory systems, is becoming one of the most popular parallel programming models. Two important supporting components of multithreaded programming, concurrent data structures and transactional memory, can benefit from speculation. However, traditional speculation mechanisms, which do not exploit high level knowledge about ...
متن کاملThe Superthreaded Architecture: Thread Pipelining with Run-Time Data Dependence Checking and Control - Parallel Architectures and Compilation Techniques, 1996., Proceedings of the 1996 Conference on
This paper presents a new concurrent multiplethreaded architectural model, called superthreading, f o r exploiting thread-level parallelism o n a processor. This architectural model adopts a thread pipelining execut ion model that allows threads with data dependences and control dependences to be executed in parallel. The basic idea of thread pipelining i s t o compute and forward recurrence da...
متن کاملThe Superthreaded Processor Architecture
The common single-threaded execution model limits processors to exploiting only the relatively small amount of instruction-level parallelism available in application programs. The superthreaded processor, on the other hand, is a concurrent multithreaded architecture (CMA) that can exploit the multiple granularities of parallelism available in general-purpose application programs. Unlike other C...
متن کاملExtracting Statistical Loop-Level Parallelism using Hardware-Assisted Recovery
Chip multiprocessors with multiple simpler cores are gaining popularity because they have the potential to drive future performance gains without exacerbating the problems of power dissipation and hardware complexity. These designs provide real benefits for server-class applications that are explicitly multi-threaded. However, for desktop and other systems, there is a large code base of single-...
متن کامل